home *** CD-ROM | disk | FTP | other *** search
- DECLARE SUB GeriKodla (Yer, Tip$)
- DECLARE SUB Kodla (A$)
- DECLARE SUB Kontrol (D$)
-
- SCREEN 2: SCREEN 0: COLOR 7, 1: CLS
- A$ = COMMAND$
- IF A$ = "" THEN
- PRINT "Program ÿnternet üzerinde dosyalarì mektup olarak göndermek";
- PRINT "için kodlar"
- PRINT "Programì ƒöyle kullanìn:≈KODLA DOSYA.ADI≈"
- END
- END IF
-
- OPEN A$ FOR BINARY AS #1
- IF LOF(1) = 0 THEN CLOSE : KILL A$: PRINT A$; " bulunamadì!!": END
- Kontrol (A$)
-
- SUB GeriKodla (Yer, Tip$)
- A$ = SPACE$(4096): GET #1, 1, A$
- Yer2 = INSTR(Yer, A$, " "): Yer3 = INSTR(Yer2, A$, CHR$(10))
- Dosya$ = MID$(A$, Yer, Yer2 - Yer)
- Buyukluk = VAL(MID$(A$, Yer2, Yer3 - Yer2))
- SEEK #1, Yer3 + 2: Yer = 0
-
- OPEN Dosya$ FOR BINARY AS #2
- IF LOF(2) <> 0 THEN
- PRINT Dosya$; " isminde bir dosya bulundu!!! Üstüne yazayìm mì? E/H"
- DO
- A$ = INKEY$
- SELECT CASE A$
- CASE "E", "e"
- CLOSE #2: KILL Dosya$
- OPEN Dosya$ FOR BINARY AS #2: CLS : EXIT DO
- CASE "H", "h"
- END
- END SELECT
- LOOP
- END IF
- LOCATE 1, 1
- PRINT Dosya$; Buyukluk; " Geri kodlama yapìlìyor % 00";
- Sutun = POS(0) - 3
- DO
- Yer = Yer + 4
- A$ = " ": GET #1, , A$: Toplam# = (ASC(A$) - 32) * 262144#
- A$ = " ": GET #1, , A$: Toplam# = Toplam# + (ASC(A$) - 32) * 4096#
- A$ = " ": GET #1, , A$: Toplam# = Toplam# + (ASC(A$) - 32) * 64
- A$ = " ": GET #1, , A$: Toplam# = Toplam# + ASC(A$) - 32
- Top = Toplam# \ 65536#: A$ = CHR$(Top): Toplam# = Toplam# - Top * 65536#
- Top = Toplam# \ 256#: A$ = CHR$(Top) + A$: Toplam# = Toplam# - Top * 256#
- A$ = CHR$(Toplam#) + A$
- IF LOF(2) < Buyukluk - 3 THEN
- PUT #2, , A$
- ELSE
- A$ = MID$(A$, 1, Buyukluk - LOF(2)): PUT #2, , A$: EXIT DO
- END IF
- LOCATE 1, Sutun: COLOR 14, 1: PRINT LOF(2) * 100 \ Buyukluk;
- IF Yer = 60 THEN A$ = Tip$: GET #1, , A$: Yer = 0
- LOOP
- PRINT : PRINT "Dönüƒtürme tamamlandì.": END
- END SUB
-
- SUB Kodla (A$)
- Yer = INSTR(A$, ".") - 1: IF Yer = -1 THEN Yer = LEN(A$)
- B$ = LEFT$(A$, Yer) + ".KOD"
- OPEN B$ FOR BINARY AS #2
- IF LOF(2) <> 0 THEN
- PRINT B$; " olarak kodlanmìƒ olabilir üstüne yazayìm mì? E/H"
- DO
- C$ = INKEY$
- SELECT CASE C$
- CASE "E", "e"
- CLOSE #2: KILL B$: OPEN B$ FOR BINARY AS #2: CLS : EXIT DO
- CASE "H", "h"
- END
- END SELECT
- LOOP
- END IF
- LOCATE 1, 1: PRINT A$; " Kodlama yapìlìyor % 00 "; B$; " olarak..";
- Sutun = POS(0) - LEN(B$) - 14: COLOR 14, 1
- Enter$ = CHR$(13) + CHR$(10): Son$ = Enter$ + "G"
- A$ = "Girdi " + A$ + STR$(LOF(1)) + Son$: PUT #2, , A$: Yer = 0
-
- SEEK #1, 1: Yer = 0
-
- DO
- IF LOC(1) = LOF(1) THEN EXIT DO
- LOCATE 1, Sutun: PRINT LOC(1) * 100 \ LOF(1);
- A$ = " ": GET #1, , A$: Toplam# = ASC(A$)
- A$ = " ": GET #1, , A$: Toplam# = Toplam# + ASC(A$) * 256#
- A$ = " ": GET #1, , A$: Toplam# = Toplam# + ASC(A$) * 65536#
-
- Yer = Yer + 4
- Top = Toplam# \ 262144#: A$ = CHR$(Top + 32): PUT #2, , A$
- Toplam# = Toplam# - Top * 262144#
- Top = Toplam# \ 4096#: A$ = CHR$(Top + 32): PUT #2, , A$
- Toplam# = Toplam# - Top * 4096#
- Top = Toplam# \ 64#: A$ = CHR$(Top + 32): PUT #2, , A$
- Toplam# = Toplam# - Top * 64#
- A$ = CHR$(Toplam# + 32): PUT #2, , A$
-
- IF Yer = 60 THEN Yer = 0: PUT #2, , Son$
- LOOP
- A$ = Enter$ + "Bitti" + Enter$: PUT #2, , A$: PRINT
- PRINT "Mektup formatìna dönüƒtürüldü...": END
- END SUB
-
- SUB Kontrol (D$)
- Yer = 1
- DO
- A$ = SPACE$(4096): GET #1, 1, A$: Yer = INSTR(Yer, A$, "Girdi ") + 6
- IF Yer <= 6 THEN Kodla (D$)
- Yer2 = INSTR(Yer, A$, " "): Yer3 = INSTR(Yer2, A$, CHR$(10))
-
- SELECT CASE MID$(A$, Yer3 - 1, 1)
- CASE CHR$(13)
- Tip$ = " "
- Atla = 63
- CASE ELSE
- Tip$ = " "
- Atla = 62
- END SELECT
- Evet = 1
- FOR i = Yer3 + 1 TO Yer3 + 1 + Atla * 5 STEP Atla
- IF i > LOF(1) THEN EXIT FOR
- IF MID$(A$, i, 1) <> "G" THEN Evet = 0
- NEXT
- IF Evet = 1 THEN CALL GeriKodla(Yer, Tip$)
- LOOP
- END SUB
-
-